package com.link.base.base.appduty.service;

import com.link.base.base.appduty.model.AppDuty;
import com.link.base.base.common.model.InterObject;
import com.link.base.base.urlinfo.model.UrlInfo;
import com.link.base.base.user.model.User;
import com.link.core.basic.service.BasicService;

import java.util.List;

/**
 * Copyright  hande Company. All Rights Reserved.
 *
 * @author  unknwon
 * @date:   2018/11/8 13:49
 * @version 1.0
 */

public interface AppDutyService extends BasicService<AppDuty> {

    List<User> queryDutyOfUserListPage(User t) throws Exception;

    void addUserOfDutyInsert(User user);

    void delUserOfDuty(InterObject record) throws Exception;

    List<UrlInfo> queryUnSelectUrlListPage(UrlInfo t);

    List<User> queryUnSelectUserListPage(User t);

    /**
     * 刷新用户所有职责权限
     *
     * @author 黄龙建
     * @date 2020年07月03日
     */
    public void refreshPermissions() throws Exception;

    /**
     * 刷新用户有一个职责的权限
     *
     * @author 黄龙建
     * @date 2020年07月03日
     */
    public void refreshPermByDutyId(AppDuty appDuty) throws Exception;

    /**
     * 查询未被当前url关联的职责列表
     *
     * @author yaojiangyi
     * @date 2019/02/28 16:53
     * @param record 职责
     */
    public List<AppDuty> queryunSelectAppDutyOfUrlPage(AppDuty record) throws Exception;

}
